iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0

SQL分類

SQL根據操作的功能性可分四大類: DDL、DQL、DML、DCL、TCL,五種功能差異整理如下,其中較容易讓初學者混淆的是DeleteDropDelete對Row or Column維度進行刪除,Drop是對Table維度刪除。本系列會著重在深入講解DQL的活用。
https://ithelp.ithome.com.tw/upload/images/20240917/201623025IkE6m66G8.png

【比較表】

SEQ Function Introduction Programming Syntax
1 DDL(Data Definition Language, 資料定義命令) 建立、刪除、更新Table Create, Drop, Alter
2 DQL(Data Query Language, 資料查詢語言) 各種查詢or建立KPI Select
3 DML(Data Manipulation Language, 資料操作語言) 插入、更新、刪除單筆/多筆資料 Insert, Update, Delete
4 DCL(Data Control Language, 資料控制語言) 管理資料庫使用者權限 Grant, Revoke
5 TCL(Transaction Control Language, 事務控制語言) 批次處理資料, 同時成功儲存or失敗 Begin, Commit, Rollback

API常用的CRUD

過往開發網站的時候,我會以 CRUD 的方式將每張 Table 建立成一個物件,撰寫成 API,後面的章節會再介紹API的細節。

  • C(Create)
CREATE TABLE `hackathon`.`student` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(20) NOT NULL , `password` VARCHAR(20) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB CHARSET=ascii COLLATE ascii_general_ci;
  • R(Read)
SELECT * FROM `user` WHERE 1=1
  • U(Update or Insert)
>>> 塞入全新的一筆資料
INSERT INTO `user` (`u_id`, `username`, `password`, `email`) VALUES ('123556', '王小明', 'AAA', 'aaa@gmail.com');
>>> 更新資料特定欄位
UPDATE `user` SET `username`="許阿花" WHERE `username`="王小明"
  • D(Delete)
DELETE FROM `user` WHERE `user`.`u_id` = 123556

https://ithelp.ithome.com.tw/upload/images/20240916/20162302GBD26XXGiN.png

Reference

MySQL必須掌握4種語言
Delete vs Truncate vs Drop
DB學習筆記-SQL
XML與JSON差異
SQL語法字典


上一篇
Day 2 SQLite
下一篇
Day 4 基礎-關聯式資料表(RDBMS)與非關聯式資料表(NoSQL)
系列文
不居功的系統隱士 - 30天由淺入深學SQL30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言